package tk.mybatis.springboot.service;

import java.util.Date;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import net.sf.json.JSONObject;
import tk.mybatis.springboot.model.Accurate;
import tk.mybatis.springboot.model.CarInfo;
import tk.mybatis.springboot.model.Message;
import tk.mybatis.springboot.model.Reinsurance;
import tk.mybatis.springboot.model.TWeixinAddress;
import tk.mybatis.springboot.model.TWeixinInsurance;
import tk.mybatis.springboot.model.TWeixinOwner;
import tk.mybatis.springboot.model.TWeixinTruckInfo;
import tk.mybatis.springboot.model.TWeixinUser;

public interface WexinInsuranceService {
	//查询微信公众号记录
	public List<TWeixinUser> getWeixinUsers(String openid);
	
	//保存车牌
	public Message saveTruckCard(HttpServletRequest request, String openid, String truckCard, String cityCode, String provinceID) throws Exception;
	
	//保存车牌
	public Message saveTruckCardNew(HttpServletRequest request, String truckCard, String ownerName) throws Exception;
	
	public Message login(HttpServletRequest request, String phone, String token) throws Exception;
	
	//修改保险险种获取保险报价
	public Message saveCoverageNew(HttpServletRequest request, JSONObject obj)throws Exception;
	
	//保存车牌
	public Message quoteSimulate(HttpServletRequest request, String insurerCode) throws Exception;
	
	//查询所有保险
	public Message getInsurancetypes() throws Exception;
	
	//查询所有省份
	public Message getProvince() throws Exception;
	
	//查询城市
	public Message getCity(String provinceId) throws Exception;
	
	//查询城市
	public Message getVagueCity(String cityName) throws Exception;
	
	public Message getCityAll() throws Exception;
	
	public Message addAddress(TWeixinAddress tWeixinAddress) throws Exception;
	
	public Message delAddress(String id) throws Exception;
	
	public Message findAddress(String id) throws Exception;
	
	public Message getAddress(String openId) throws Exception;
	
	public Message setDefault(String openId, String id) throws Exception;
	
	//模糊查询车辆信息
	public Message carQuery(String brandName, String page) throws Exception;
	
	//修改车辆信息获取保险报价
	public Message vehicle(HttpServletRequest request, CarInfo carInfo) throws Exception;
	
	//修改保险险种获取保险报价
	public Message update(HttpServletRequest request, JSONObject obj)throws Exception;
	
	//发送验证码
	public Message send(String mobile)throws Exception;
	
	//精准报价
	public Message accurate(HttpServletRequest request, Accurate accurate)throws Exception;
	
	//地区选择
	public Message dictList()throws Exception;
	
	//地区选择
	public Message reinsurance(HttpServletRequest request, Reinsurance reinsurance)throws Exception;
	
	//保存车辆详细
	public TWeixinTruckInfo saveTruckInfo(String userId, String vin, String engine, Date creationdate, Integer istransfer, Date istransferdate);
	
	//保存车辆详细
	public Message saveTruckInfoNew(String openId, CarInfo carInfo);
	
	//查询车辆详情
	public TWeixinTruckInfo getTruckInfo(String userId);
	
	//查询车主信息
	public TWeixinOwner getOwner(String userId);
	
	//保存车主信息
	public TWeixinOwner saveOwner(String userId, String ownerName, String idCard, String phone);
	
	//查询微信车险
	public TWeixinInsurance getInsurance(String userId);
	
	//查询微信车险公司
	public Message getInsuranceAll(String cityCode);
	
	//保存微信车险
	public TWeixinInsurance saveInsurance(TWeixinInsurance info);
	
	public Message getJsonData() throws Exception;
	
	public Message getOrder(String user_id, String type, Integer rows);
	
	public Message getOrderInfo(String id);
	
	public Message delOrder(Integer id);
	
	public Message getCustomer(HttpServletRequest request, String order, Integer isValid);
}
